Регистрация...

Eserv Forum / E3 / Eserv 3 Mail Server Support / RoundCube webmail BETA

imported // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Новости
12.10.2009
Переезд завершен
Возможно кому-нибудь пригодится, или просто будет интересно. Собрал готовый к использованию, не требующий инсталляции и настройки комплект RoundCube webmail для Eserv/3. Чтобы не возиться с модулями PHP5 и настройкой базы для RoundCubePHP5 (в ISAPI-режиме) и привязка к Sqlite-базе входят в комплект. Т.е. просто распаковываете куда-нибудь этот архив:
http://www.eserv.ru/download/roundcube_acweb_01b.rar (4Mb) запускаете там acWEB/acWEB.exe (спецконфиг) и обращаетесь к http://eserv:8889/ и всё.

Не совсем всё. Были небольшие несовместимости, пришлось подкруть acIMAP.exe. Вот с этой бетой будет работать:
http://www.eserv.ru/download/acIMAP_030408_2.rar
Т.е. сначала замените acIMAP.exe, а потом заходите на http://eserv:8889/

RoundCube в каком-то смысле наследник IlohaMail, с модными ajax'овыми штучками. В этом месяце выпущена первая стабильная версия, потому захотелось испытать совместимость. В нем самом ничего для совместимости крутить не пришлось, хорошо сделано.

Эта версия acIMAP очень бетовая, так что использовать свой на страх и риск...
 
Комментарии к этой версии (03.04.2008 06:33) [~ac] a857712e
АвторДатаТекстtags
artsi8103.04.2008 10:52
Вроде пока пашет. Вопросы: как заставить работать на 80 порту. как сделать рус. язык по умолчанию а не англ.
imported
leka03.04.2008 13:01
DATABASE ERROR: CONNECTION FAILED!
Unable to connect to the database!
Please contact your server-administrator.
[03-Apr-2008 13:23:55 +0400] DB Error: DB Error: extension not found in C:\Eserv3\CONF\pub\wwwroot\WM\DATA\wwwroot\program\include\rcube_db.inc on line 104
[03-Apr-2008 13:59:18 +0400] DB Error: DB Error: extension not found in C:\Eserv3\CONF\pub\wwwroot\WM\DATA\wwwroot\program\include\rcube_db.inc on line 104
Как это вылечить?
imported
pig03.04.2008 13:32
Встречный вопрос: а куда оно поставлено? Надеюсь, не туда, где рабочий Eserv стоит?
imported
Dandy03.04.2008 13:48
По всей видимости туда.
Такое ощущение, что есть проблема как раз с подключением SQlite в PHP
imported
Dandy03.04.2008 16:09
мистика... ставлю данную сборку в рабочий конфиг eserv + pig*

в php.ini прописано:
extension_dir="C:\PHP\ext\" ... extension=php_pdo.dll extension=php_pdo_sqlite.dll extension=php_sqlite.dll


лог php говорит:
[03-Apr-2008 16:18:38] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_sqlite.dll' - The specified module could not be found. in Unknown on line 0 [03-Apr-2008 16:18:39] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_pdo_sqlite.dll' - The specified module could not be found. in Unknown on line 0


Все пляски с бубном ничего не дали... файлы 100% существуют и имеют все необходимые атрибуты доступа (более того, другие библиотеки — mysql, mssql и т.п успешно находятся и грузятся)

копирование каталога php_ext из дистрибутива RoundCube for Eserv и переназначение extension_dir так же не помогало.

В итоге помогло следующее: скопировал php_ext в каталог php (основные расширения php находятся в php\ext) и каталог к нужным библиотекам указал относительный (причем как минимум один выход из каталога ..\ обязателен)
extension_dir="C:\PHP\ext\" ... extension=../php_ext/php_pdo.dll extension=../php_ext/php_pdo_sqlite.dll extension=../php_ext/php_sqlite.dll


странно все это...
imported
Dandy03.04.2008 16:24
Дополнение: если у вас включена обязательная аутентификация пользователей при отправке сообщений, то подредактируйте конфигурационный файл \config\main.inc.php следующим образом:
// SMTP username (if required) if you use %u as the username RoundCube // will use the current username for login $rcmail_config['smtp_user'] = '%u'; // SMTP password (if required) if you use %p as the password RoundCube // will use the current user's password for login $rcmail_config['smtp_pass'] = '%p';
imported
Dandy03.04.2008 16:37
artsi81 пишет: Вроде пока пашет. Вопросы: как заставить работать на 80 порту.
в файле \acweb\conf\onsturtup.rules.txt заменить
Listen: 8889
на номер нужного вам порта

artsi81 пишет: как сделать рус. язык по умолчанию а не англ.

В файле \config\main.inc.php установить:
// the default locale setting $rcmail_config['locale_string'] = 'ru';
imported
ac04.04.2008 03:35
Dandy пишет: мистика... ставлю данную сборку в рабочий конфиг eserv + pig*

в php.ini прописано: extension_dir="C:\PHP\ext\" странно все это...


А вот не надо было ничего подкручивать и завинчивать в другой конфиг

В каталоге acWEB этого дистрибутива лежит рабочий php.ini, который там и должен остаться в неизменном виде. В нем extension_dir = "../ext/php_ext"

Проверил на ТРЁХ машинах (Vista, XP, Win2008) — всё заводится сразу: распаковал, ничего не менял, запустил acWEB.exe, готово, работает. Ни в каких логах никаких ошибок. На одной из трех машин (совсем пустой) php потребовал две ssl'ные dll: libeay32.dll и ssleay32.dll. Я их добавил в архив (хотя работало и без них, только при запуске окошко выскакивало) —

http://www.eserv.ru/download/roundcube_acweb_01b2.rar (теперь он 5 Мб)
imported
ac04.04.2008 07:55
И еще одно обновление acIMAP к нему — для лучшей совместимости и лучшей отладки:
http://www.eserv.ru/download/acIMAP_040408_1.rar
imported
ND04.04.2008 08:12
Всё установилось и работает, но только под Opera и FireFox.
Под IE7 после ввода пароля сразу предупреждение "Your browser does not accept cookies", хотя cookies включены и для других адресов в Инете работают. Где и что проверить ?
imported
ac04.04.2008 08:33
Вечером посмотрю как Roundcube это детектирует. Но у меня в IE7 работает без предупреждений (в Висте и в Win2008; а в XP на IE не проверял пока).
imported
svp04.04.2008 11:36
Ноконец-то дождались и родной фейс, вот только не отправляет соощения svp@121.0.0.1 ?
imported
leka04.04.2008 12:26
Проверил на ТРЁХ машинах (Vista, XP, Win2008) — всё заводится сразу: распаковал, ничего не менял, запустил acWEB.exe, готово, работает. Ни в каких логах никаких ошибок.
А на 2003 с установленным Eserv не работает, выдает ошибку о которой я писал выше... Запускаю acWeb как приложение, а не как службу, чтобы не кофликтовали...
(в Висте и в Win2008; а в XP на IE не проверял пока).
На другом ящике проверил(WinXp Sp2 IE7) и запуск как http://localhost:8889 запустилось... в логах ошибок нет.
imported
ac04.04.2008 12:44
svp пишет: Ноконец-то дождались и родной фейс,

В смысле "родной"?
svp пишет: вот только не отправляет соощения svp@121.0.0.1 ?

Это в настройках учетной записи (внутри самого RoundCube в профиле пользователя) можно поменять.

А чтобы автоматом всем пользователям ставилось нужно наверное
$rcmail_config['username_domain'] = ; $rcmail_config['mail_domain'] = ; покрутить в roundcube\DATA\wwwroot\config\main.inc.php.
imported
ac05.04.2008 02:11
ac пишет: Вечером посмотрю как Roundcube это детектирует. Но у меня в IE7 работает без предупреждений (в Висте и в Win2008; а в XP на IE не проверял пока).

В общем, традиционно детектирует Если с другими сайтами этот IE работает, то и с локальным тем более должен. Если настройки зоны безопасности на вкладке "Конфиденциальность" параметров IE7 ничего не дают, то дело наверное в самом куке. Он у Roundcube скромный (roundcube_sessid=хэш), но если на том же хосте работало много веб-приложений, то может передаваться толстая пачка куков (у меня, например, во всех запросах к локальному серверу передается целых шесть битриксовых куков, выставленных аж 3 года назад . А у PHP в ISAPI-режиме ограничение на размер куковой строки — 1 килобайт, если не ошибаюсь. Так вот, если сумма длин куков всех приложений больше 1кб, то последние куки просто обрезаются. И вот если кук roundcube отрезается в PHP, то roundcube может так возмущаться независимо от настроек браузера и acWEB.

Для проверки найдите в acWEB\conf\OnStartup.rules.txt строку, содержащую "http\OnRequestComplete", и замените её на такую:

: http\OnRequestComplete URI?P TYPE ." ;" FILENAME TYPE ." ;" CONTENT_TYPE TYPE ." ;" Cookie TYPE CR ;


потом перезапустите acWEB, обратитесь к серверу из этого IE7 и посмотрите куки. Если упирается в килобайт, то либо удалить куки в браузере, либо мастерить на сервере PHP в CGI-режиме (как в самом Eserv/3 в базовом конфиге acWEB настроено).
imported
ac05.04.2008 02:23
ac пишет: А у PHP в ISAPI-режиме ограничение на размер куковой строки — 1 килобайт, если не ошибаюсь.

Не ошибаюсь: php5isapi.c (из исходников PHP5):
#define ISAPI_SERVER_VAR_BUF_SIZE 1024
Т.е. не только для кука, а для любой серверной переменной, гоняемой через ISAPI, такой лимит.

Если проблема окажется в этом, то кроме CGI-режима есть и другое решение — перекомпилировать php5isapi.dll с другим лимитом. Но, я думаю, это уже ненужные перегибы
imported
svp05.04.2008 13:34
ac пишет:
svp пишет: Ноконец-то дождались и родной фейс,

В смысле "родной"?
Русский
svp пишет: вот только не отправляет соощения svp@121.0.0.1 ?

Это в настройках учетной записи (внутри самого RoundCube в профиле пользователя) можно поменять.

А чтобы автоматом всем пользователям ставилось нужно наверное
$rcmail_config['username_domain'] = ; $rcmail_config['mail_domain'] = ; покрутить в roundcube\DATA\wwwroot\config\main.inc.php.


Изменил только в этой строке:
$rcmail_config['username_domain'] = 'eee.ru';
imported
svp05.04.2008 13:41
ac пишет:
svp пишет: Ноконец-то дождались и родной фейс,

В смысле "родной"?
Русский
svp пишет: вот только не отправляет соощения svp@121.0.0.1 ?

Это в настройках учетной записи (внутри самого RoundCube в профиле пользователя) можно поменять.

А чтобы автоматом всем пользователям ставилось нужно наверное
$rcmail_config['username_domain'] = ; $rcmail_config['mail_domain'] = ; покрутить в roundcube\DATA\wwwroot\config\main.inc.php.


Изменил только в этой строке:
$rcmail_config['username_domain'] = 'eee.ru';
imported
leka07.04.2008 08:59
Наконец то запустил под рабочим Eserv, вся бяка заключается в том что, если работает PHP основной, то не работает с PHP.ini, который дается с кубом... пришлось сделать так, хотя и был обновлен PHP до 5.2.5, а некоторые библиотеки остались от 5.2.2 и на них куб и не работал и выдавал те ошибки о которых я писал выше... Заменил библиотеки на 5.2.5 в основном PHP, и куб запустился.... Теперь осталось его настроить под мультисайтовость, и была возможность выбора того домена в котором зарегистрирован пользователь....
imported
ac07.04.2008 09:35
Я пробовал на eserv.ru — кубовый ISAPI-PHP 5.2.5 брал php.ini из каталога своего acWEB, и никак не конфликтовал с cgi'шным PHP 5.1.4, на котором работает сайт (у того свой php.ini в каталоге Windows). Т.е. у меня сложилось впечатление, что два PHP друг друга "не видят", и работают независимо.
imported
pig07.04.2008 09:45
Могут влиять вбитые в настройки системы переменные окружения (PHPRC, кажется).
imported
leka07.04.2008 09:47
(у того свой php.ini в каталоге Windows)
у меня он лежит в папке PHP, а не в Windows... Вот в том и дело, что я поначалу тоже брал из acWeb, все равно не запускался, как только заменил библиотеки, запустился куб... и сейчас работает на основном acWeb Eserv, а не на acWeb который мдет с кубом... Я взял только папку "Data", а остальное не использую....
imported
ac07.04.2008 09:53
ac> В смысле "родной"? svp> Русский

Ну, он, по-моему, не более русский, чем IlohaMail или SquirrelMail...
imported
ac07.04.2008 09:55
leka пишет: и сейчас работает на основном acWeb Eserv, а не на acWeb который мдет с кубом... Я взял только папку "Data", а остальное не использую....

Т.е. в CGI-режиме куб работает? (я его в этом режиме даже не проверял, честно говоря). И в подкаталоге, а не корне?
imported
leka07.04.2008 10:23
Т.е. в CGI-режиме куб работает? (я его в этом режиме даже не проверял, честно говоря). И в подкаталоге, а не корне?
Да работает... я его опубликовал... Запустилсявроде нормально... вот теперь нужно сделать, чтобы пользователи авторизовались каждый в своем домене....
imported
svp07.04.2008 10:27
Подскажите, как увеличить таймаут для разруливания спама c RoundCube, по умолчанию 120 сек.
imported
ac07.04.2008 10:31
leka пишет: вот теперь нужно сделать, чтобы пользователи авторизовались каждый в своем домене....

Просто, как и везде в Eserv, можно указывать в качестве логина полный Email — с доменом. Т.к. RoundCube передает логин напрямую в IMAP, то должно работать.
imported
leka07.04.2008 11:08
Просто, как и везде в Eserv, можно указывать в качестве логина полный Email — с доменом. Т.к. RoundCube передает логин напрямую в IMAP, то должно работать.
Просто хотелось сделать немного подругому: mail.domen1.ru mail.domen2.ru mail.domen3.ru
Если пользователь заходит на mail.domen1.ru, то и соответствено авторизация в нем, если заходит во второй, то и авторизация во втором.... и т.д. Как такую фишку сделать?
imported
ac07.04.2008 12:06
Может быть тогда так:
$rcmail_config['username_domain'] = $_SERVER["HTTP_HOST"];
$rcmail_config['mail_domain'] = $_SERVER["HTTP_HOST"]; покрутить в кубовом config\main.inc.php.
imported
leka07.04.2008 14:55
ac пишет: Может быть тогда так:
$rcmail_config['username_domain'] = $_SERVER["HTTP_HOST"];
$rcmail_config['mail_domain'] = $_SERVER["HTTP_HOST"]; покрутить в кубовом config\main.inc.php.
Нет так не идет:
Specify an array with 'host' => 'domain' values to support multiple hosts
$rcmail_config['username_domain'] = array ( 'domen1.ru' => 'domen1.ru',
);
Вот так тогда работает, может что не так делаю.
imported
ac08.04.2008 04:47
Если так работает, то значит правильно делаете. Только наверное HTTP_HOST заменить на SERVER_NAME, чтобы порт под ногами не путался. И еще одну переменную установить:

$rcmail_config['default_host'] = $_SERVER["SERVER_NAME"];
(вместо 127.0.0.1)

Т.е. все вместе примерно так:
$rcmail_config['default_host'] = $_SERVER["SERVER_NAME"]; $rcmail_config['username_domain'] = array ( $_SERVER["SERVER_NAME"] => $_SERVER["SERVER_NAME"] ); $rcmail_config['mail_domain'] = array ( $_SERVER["SERVER_NAME"] => $_SERVER["SERVER_NAME"] );
imported
leka08.04.2008 11:51
$rcmail_config['default_host'] = $_SERVER["SERVER_NAME"];

$rcmail_config['username_domain'] = array (
    $_SERVER["SERVER_NAME"] => $_SERVER["SERVER_NAME"]
);

$rcmail_config['mail_domain'] = array (
    $_SERVER["SERVER_NAME"] => $_SERVER["SERVER_NAME"]
);
Все равно немного не то, потому что необходимо , чтобы пользователь при наборе логина так же мог подставлять домен авторизации, а не вбивал его... первая строка добавляет и показывает домены авторизации. Как вот это реализовать:
Alternate Solution for the Multiple Host Domain (dynamic)
In case you have one installation of RoundCube to server multiple domains you can create host-specific config files. These files have to be named like [hostname].inc.php and also be located in the config directory. RoundCube does not read them by default so you need to enable the 'include_host_config' option in the main config file.

Please note that the host-specific configurations will be merged over the main config file what means that they only need to contain the parameters that differ from the main configuration.
imported
ac08.04.2008 12:00
Не понял. Я думал, что вы хотели, чтобы по урлу сайта автоматически определялся домен (тот же самый). Эта настройка так и работает — я проверил. Вбивать ничего кроме логина (имени до @) при этом не требуется.

In case you have one installation of RoundCube to server multiple domains you can create host-specific config files. These files have to be named like [hostname].inc.php and also be located in the config directory.

Мы это и сделали, только проще — без лишних файлов.
imported
Serj-E05.09.2008 06:14
Вопросы по RoundCube webmail?:

  1. Медленно работает (логинется сек 30-40, письмо открывает сек 7-10);
  2. При ответе (не важно автору или всем) не заполняется поле с адресом (приходится заполнять вручную);
  3. Может вопрос не по адресу, но при обращении к Eserv — ломится через прокси. На галочку не использовать прокси для локалки — не реагирует. На список исключений для прокси — тоже (операционка — XP, браузер — IE-6).
  4. Можно ли расширить функционал — добавить сортировку писем по выбору, добавить поле доставлено ("дата" отображает время отправки, тоже надо, но у отправителя на компе может стоять и 1980 год);
  5. Как сделать, чтобы у всех писем отображался полный формат даты?
imported
pig05.09.2008 10:02
  1. Надо смотреть, что в это время делает IMAP-сервер и что от него просит RoundCube. Если в ящике много писем, то подключаться будет долго. Если письмо большое, тоже будет долго открываться, наверное. RoundCube, как любая универсальная надстройка, подключается к серверу по протоколу IMAP.
  2. Это как раз более-менее по адресу, по всем остальным вопросам (2, 4, 5) надо спрашивать у разработчиков RoundCube, которые находятся в другом месте. Если браузер вообще не реагирует на список исключений, то в нём что-то поломалось. Но я бы для начала более внимательно посмотрел, по какому конкретно адресу он ломится через прокси и сравнил бы этот адрес с теми, что в исключениях. И заодно проверил бы правильность синтаксиса самого списка. Известно, что Firefox, например, импортирует список исключений из IE как есть, не пытаясь преобразовать его к своему формату (а у него элементы списка разделяются запятыми, а не точками с запятой, плюс он, кажется, звёздочки не понимает, IP-адреса у него тоже в каноническом виде, с указанием длины маски).
P.S. Дата доставки письма адресату в общем случае неизвестна — это происходит где-то там, далеко, почтовому клиенту отправителя туда не дотянйться. Если отправителю надо знать, он должен запросить у адресата подтверждение.
imported
ac04.09.2009 19:11
Страница http://www.eserv.ru/RoundCube обновлена. Добавлена текущая версия RoundCube, работающая на движке Eserv/4.
imported
Работает на Eserv/5.05567 (10.02.2020)